/*
 * XML Type:  AudioParamType
 * Namespace: http://www.data-archive.ac.uk/dext/schema/draft
 * Java type: uk.da.dext.AudioParamType
 *
 * Automatically generated - do not modify.
 */
package uk.da.dext.impl;
/**
 * An XML AudioParamType(@http://www.data-archive.ac.uk/dext/schema/draft).
 *
 * This is a complex type.
 */
public class AudioParamTypeImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements uk.da.dext.AudioParamType
{
    private static final long serialVersionUID = 1L;
    
    public AudioParamTypeImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }
    
    private static final javax.xml.namespace.QName ID$0 = 
        new javax.xml.namespace.QName("", "id");
    private static final javax.xml.namespace.QName CLIPTYPE$2 = 
        new javax.xml.namespace.QName("", "clipType");
    private static final javax.xml.namespace.QName OTHERCLIPTYPE$4 = 
        new javax.xml.namespace.QName("", "otherClipType");
    private static final javax.xml.namespace.QName CLIPBEGIN$6 = 
        new javax.xml.namespace.QName("", "clipBegin");
    private static final javax.xml.namespace.QName CLIPEND$8 = 
        new javax.xml.namespace.QName("", "clipEnd");
    
    
    /**
     * Gets the "id" attribute
     */
    public java.lang.String getId()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(ID$0);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "id" attribute
     */
    public org.apache.xmlbeans.XmlID xgetId()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlID target = null;
            target = (org.apache.xmlbeans.XmlID)get_store().find_attribute_user(ID$0);
            return target;
        }
    }
    
    /**
     * Sets the "id" attribute
     */
    public void setId(java.lang.String id)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(ID$0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(ID$0);
            }
            target.setStringValue(id);
        }
    }
    
    /**
     * Sets (as xml) the "id" attribute
     */
    public void xsetId(org.apache.xmlbeans.XmlID id)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlID target = null;
            target = (org.apache.xmlbeans.XmlID)get_store().find_attribute_user(ID$0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlID)get_store().add_attribute_user(ID$0);
            }
            target.set(id);
        }
    }
    
    /**
     * Gets the "clipType" attribute
     */
    public uk.da.dext.AudioParamType.ClipType.Enum getClipType()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(CLIPTYPE$2);
            if (target == null)
            {
                return null;
            }
            return (uk.da.dext.AudioParamType.ClipType.Enum)target.getEnumValue();
        }
    }
    
    /**
     * Gets (as xml) the "clipType" attribute
     */
    public uk.da.dext.AudioParamType.ClipType xgetClipType()
    {
        synchronized (monitor())
        {
            check_orphaned();
            uk.da.dext.AudioParamType.ClipType target = null;
            target = (uk.da.dext.AudioParamType.ClipType)get_store().find_attribute_user(CLIPTYPE$2);
            return target;
        }
    }
    
    /**
     * True if has "clipType" attribute
     */
    public boolean isSetClipType()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(CLIPTYPE$2) != null;
        }
    }
    
    /**
     * Sets the "clipType" attribute
     */
    public void setClipType(uk.da.dext.AudioParamType.ClipType.Enum clipType)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(CLIPTYPE$2);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(CLIPTYPE$2);
            }
            target.setEnumValue(clipType);
        }
    }
    
    /**
     * Sets (as xml) the "clipType" attribute
     */
    public void xsetClipType(uk.da.dext.AudioParamType.ClipType clipType)
    {
        synchronized (monitor())
        {
            check_orphaned();
            uk.da.dext.AudioParamType.ClipType target = null;
            target = (uk.da.dext.AudioParamType.ClipType)get_store().find_attribute_user(CLIPTYPE$2);
            if (target == null)
            {
                target = (uk.da.dext.AudioParamType.ClipType)get_store().add_attribute_user(CLIPTYPE$2);
            }
            target.set(clipType);
        }
    }
    
    /**
     * Unsets the "clipType" attribute
     */
    public void unsetClipType()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(CLIPTYPE$2);
        }
    }
    
    /**
     * Gets the "otherClipType" attribute
     */
    public java.lang.String getOtherClipType()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(OTHERCLIPTYPE$4);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "otherClipType" attribute
     */
    public org.apache.xmlbeans.XmlString xgetOtherClipType()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(OTHERCLIPTYPE$4);
            return target;
        }
    }
    
    /**
     * True if has "otherClipType" attribute
     */
    public boolean isSetOtherClipType()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(OTHERCLIPTYPE$4) != null;
        }
    }
    
    /**
     * Sets the "otherClipType" attribute
     */
    public void setOtherClipType(java.lang.String otherClipType)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(OTHERCLIPTYPE$4);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(OTHERCLIPTYPE$4);
            }
            target.setStringValue(otherClipType);
        }
    }
    
    /**
     * Sets (as xml) the "otherClipType" attribute
     */
    public void xsetOtherClipType(org.apache.xmlbeans.XmlString otherClipType)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(OTHERCLIPTYPE$4);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(OTHERCLIPTYPE$4);
            }
            target.set(otherClipType);
        }
    }
    
    /**
     * Unsets the "otherClipType" attribute
     */
    public void unsetOtherClipType()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(OTHERCLIPTYPE$4);
        }
    }
    
    /**
     * Gets the "clipBegin" attribute
     */
    public java.lang.String getClipBegin()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(CLIPBEGIN$6);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "clipBegin" attribute
     */
    public org.apache.xmlbeans.XmlString xgetClipBegin()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(CLIPBEGIN$6);
            return target;
        }
    }
    
    /**
     * Sets the "clipBegin" attribute
     */
    public void setClipBegin(java.lang.String clipBegin)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(CLIPBEGIN$6);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(CLIPBEGIN$6);
            }
            target.setStringValue(clipBegin);
        }
    }
    
    /**
     * Sets (as xml) the "clipBegin" attribute
     */
    public void xsetClipBegin(org.apache.xmlbeans.XmlString clipBegin)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(CLIPBEGIN$6);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(CLIPBEGIN$6);
            }
            target.set(clipBegin);
        }
    }
    
    /**
     * Gets the "clipEnd" attribute
     */
    public java.lang.String getClipEnd()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(CLIPEND$8);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "clipEnd" attribute
     */
    public org.apache.xmlbeans.XmlString xgetClipEnd()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(CLIPEND$8);
            return target;
        }
    }
    
    /**
     * Sets the "clipEnd" attribute
     */
    public void setClipEnd(java.lang.String clipEnd)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(CLIPEND$8);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(CLIPEND$8);
            }
            target.setStringValue(clipEnd);
        }
    }
    
    /**
     * Sets (as xml) the "clipEnd" attribute
     */
    public void xsetClipEnd(org.apache.xmlbeans.XmlString clipEnd)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(CLIPEND$8);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(CLIPEND$8);
            }
            target.set(clipEnd);
        }
    }
    /**
     * An XML clipType(@).
     *
     * This is an atomic type that is a restriction of uk.da.dext.AudioParamType$ClipType.
     */
    public static class ClipTypeImpl extends org.apache.xmlbeans.impl.values.JavaStringEnumerationHolderEx implements uk.da.dext.AudioParamType.ClipType
    {
        private static final long serialVersionUID = 1L;
        
        public ClipTypeImpl(org.apache.xmlbeans.SchemaType sType)
        {
            super(sType, false);
        }
        
        protected ClipTypeImpl(org.apache.xmlbeans.SchemaType sType, boolean b)
        {
            super(sType, b);
        }
    }
}
